package com.sakiko.controller;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

// 接收上传的文件
@RestController
@RequestMapping("file")
public class UploadController {
    /*
        前端: <form method=post enctype=multipart/form-data <input type=file
        后端: 1、导入依赖 commons-fileupload (pom.xml)
                    帮我们完成请求体内容的切割
             2、配置文件上传处理器 multipartResolver (spring-mvc.xml)
                    切出的内容部分 转换成 MultipartFile
             3、配置文件上传大小 (web.xml)
             4、使用 MultipartFile类型接收上传文件
     */

    @PostMapping("upload")
    public String upload(String account, @RequestParam("avatar") MultipartFile file) throws IOException {
        System.out.println("UploadController.upload");
        // 1、接收上传的文件
        byte[] bytes = file.getBytes();
        System.out.println(bytes.length);
        System.out.println(file.getOriginalFilename());
        // 2、进行转存 (省略
        // 3、回显地址 (省略
        System.out.println("account = " + account + ", file = " + file);
        return "upload success!!!";
    }
}
